sintgamas, artículos
 
Usuario:   Clave:    
   
Escribí lo que quieras:  
 
  Gastronomía| Moda| Mascotas| Industria| Om| Mi lugar| Economía| Política| Humor| Ecología| Turismo| Educación| Inmobiliarias| Sociedad| El mundo| Ocio| Música| Ciencia| Tecnología| Internet| Posicionamiento| Diseño| Deporte| Salud| Letras| Cine| Juegos| Miscelaneas| Cultura| Escultura| Pintura| Clasificados| Televisión| Alternativas| Recetas| Telefonía|  
   
 
 
27 Contanos tus ideas antes de que un sinsentido las haga estallar   por   marisita
 
 
Datagestion 1/28/2012 | 01:05:27 a.m.  
 
Subir un archivo al servidor usando ASP
Tutorial en ASP para subir archivos al servidro remoto
Tags:
  upload   aspupload   subir archivo usando ASP   ASP subir archivo   subir archivo al servidor   programación ASP   Tutorial en ASP subir archivos   upload en ASP
 

 

He leído decenas de tutoriales sobre subir archivos al servidor usando ASP, en todos los casos lo que encontré fueron copias de un mismo procedimiento, con variaciones, o archivos que se pueden bajar, sin ninguna explicación.
Si bien la mayoría sirve, ante cualquier variación que queremos realizar sobre esos archivos no se encuentran explicaciones detalladas de cómo se realizan.
El presente instructivo, es una explicación detallada de cómo subir un archivo a un servidor, de forma sencilla y sin comprobaciones, como usan la mayoría de los ejemplos, que hacen que no se comprenda bien el proceso.
Luego, el lector podrá agregarle a este procedimiento las complejidades necesarias para realizar esta acción.
El presente instructivo es exclusivamente para subir un archivo, no comprobará el tamaño del archivo, ni otras consideraciones, pero partiendo de este código se podrá ampliar la programación, tan compleja como se quiera.
Entonces, partimos de la hipótesis que necesitamos subir un archivo a desde nuestra máquina a un servidor remoto.
Para ello armamos un formulario que contenga el campo y el botón examinar, que nos permite ver la carpeta local donde buscaremos el archivo. Esto sería:
En código:
<form id="form1" name="form1" method="POST" action="">
<table>
<tr>
<td width="59%"><INPUT NAME="File1" SIZE=30 TYPE="file"></td>
</tr>
<tr><td> <input type="text" name="button" id="button" value="Enviar" /></td></tr>
</table>
</form>
 
Esto ubicará un campo, con un botón de examinar a la derecha. Y otro botón abajo, enviar, para iniciar la acción de subir al servidor el archivo
 
Cuando se presione el botón examinar, abre una ventana que muestra el contenido de las carpetas del servidor local.
 
Al seleccionar un archivo, quedará en el campo la dirección física donde se encuentra el archivo.
Por ejemplo algo como esto: C:\imagenes\nombre.jpg
Si el camino a la imagen es más largo, sería algo como esto: C:\carpeta\imagenes\nombre.jpg
 
Para aislar el nombre del archivo, en cualquier caso, tendría que identificar lo que haya hacia la derecha de la barra, \.
En algunos foros, he visto que realizan una especie de función recursiva que rastrea cada \, hasta que llega a la última y ahí encuentra el nombre del archivo.
 
En mi ejemplo haré algo que considero más sencillo: invertiré todo el nombre, buscaré una sola vez la barra, extraeré el string que quede desde el comienzo hasta esa barra y volveré a invertir el archivo, con ello obtendré el nombre del archivo. Esto es mucho más rápido que una función que se ejecute varias veces para encontrar todas las barras.
 
Suponemos que el nombre del campo es: nombreArchivo.
Invierto el campo:
<%
Dim Invertida
Invertida= strReverse(nombreArchivo)
%>
Esto daría como resultado en el contenido de invertir esto: “gpj.erbmon\senegami\ateprac\:C”
Ahora, busco la primera barra:
<%
Dim dondeBarra
dondeBarra= instr(Invertida,"\")
 
%>
 
Ahora en dondeBarra hay un número que indica en dónde encontró la barra, dentro de la variable Invertida, contando desde 1.
Ahora extraigo la cadena de caracteres desde 1, hasta la barra, y le resto 1 carácter para extraer la misma barra.
Para el ejemplo el valor que contiene dondeBarra es: 11, contando desde el principio e incluyendo la barra.
 
<%
Dim Extraer
Extraer= mid(Invertida,1,dondeBarra-1)
%>
 
Ahora  Extraer contiene esto: gpj.erbmon
 
Sencillamente volvemos invertir y obtenemos el nombre del archivo:
<% Dim nombreFinal
nombreFinal= strReverse(Extraer)
%>
 
En este momento, en nombreFinal contiene “nombre.jpg”
 
Ahora, utilizamos un objeto que permitirá pasar el archivo al servidor remoto.
 
<% Dim ForWriting, FileName
ForWriting = 2
                FileName=nombreFinal
                Set fso = CreateObject("Scripting.FileSystemObject")
                set f = fso.OpenTextFile("DireccionDeDestino\" & FileName, ForWriting, True)
                f.Write FileName
                Set f = nothing
                Set fso = nothing
%>
 
Esto es todo.
ForWriting es un parámetro del objeto fso que implica un GET, un tomar el archivo, y ForWriting es un parámetro que indica que se va a escribir en una carpeta.
Direcciondedestino: es el lugar físico, cuidado, no confundir con una dirección http, que no lo es.
 
DirecciónDeDestino puede ser algo asi: “C:\inetpub\wwwroot\imagen\” y lo que hará es colocar el archivo copiado en ese sitio.
Si en el servidor remoto se desconoce la dirección física en donde se desea copiar al archivo, se puede suplantar la línea con la siguiente:
 
Set f = fso.OpenTextFile(server.mappath("..") & "\imagen\" &  FileName, ForWriting, True)
 
Donde el objeto server.mapmath contiene la dirección física.
 
El archivo completo implicaría que primero debería verse el formulario, que nos permite elegir el archivo y luego de presionar el botón enviar, se ejecute la parte en que sube el archivo. Por ello, nuestra página se ejecuta, dos veces, una cuando abre el formulario, otra cuando sube, entonces iniciamos la página con una condición:
 
Esta función devuelve un 1 o un 2, cuando arranca es 1. En el formulario indicamos que en caso que sea 1, se muestre el formulario, y cuando sea 2, se ejecute la acción de subir archivo al servidor.
 
El archivo se llamara: upload.asp
 
<%
Func = Request("Func")
if isempty(Func) Then
Func = 1
End if
Select Case Func
Case 1
%>
<form id="form1" name="form1" method="POST" action="upload.asp">
<table>
<tr>
<td width="59%"><INPUT NAME="File1" SIZE=30 TYPE="file"></td>
</tr>
<tr><td> <input type="text" name="button" id="button" value="Enviar" /></td></tr>
</table>
</form>
<%
Case 2
Dim Invertida, dondeBarra, Extraer, nombreFinal
Invertida= strReverse(nombreArchivo)
dondeBarra= instr(Invertida,"\")
Extraer= mid(Invertida,1,dondeBarra-1)
nombreFinal= strReverse(Extraer)
Dim ForWriting, FileName
ForWriting = 2
FileName=nombreFinal
Set fso = CreateObject("Scripting.FileSystemObject")
set f = fso.OpenTextFile("DireccionDeDestino\" & FileName, ForWriting, True)
f.Write FileName
Set f = nothing
Set fso = nothing
%>
Seguramente es una de las formas más sencillas para subir un archivo. Es hora de comentar lo que habría que agregarle:
Habría que realizar alguna acción que detectara no ejecutar la subida del archivo, si el campo nombreArchivo está vacío, pues daría un error en la ejecución.
También hay que tener en cuenta que es posible que el archivo ya exista en el servidor remoto, con lo cual será suplantado por este otro sin que se advierta al usuario que ello está ocurriendo.
Ambas son acciones en las que hay que pensar a la hora de querer subir un archivo.
 
Espero les haya servido y me lo hagan saber dejándome sus comentarios.
 

  Ana Abregú

 

www.anaabregu.com.ar

www.datagestion.com.ar

www.posicionamientourl.com.ar

 

 

Ana Abregú.

www.metaliteratura.com.ar

  Adjetivación

Ana Abregú

 

 

 
Agregar esta página a Mister Wong Compartir
SEO posicionamiento tendencias en marketing digital
Diseñar tu sitio o pedir que te lo diseñen
Aprovecha el diseño del sitio para el posicionamiento web
4 acciones potentes para marketing digital
Diseño de base de datos
  Comentarios: 0      
 
Enviá tu comentario
Para dejar tu comentario debes ser miembro de Sintagmas.
 
 
 
 
 
 
ULTIMAS PUBLICADAS en Internet |
  La evolución de internet y el certificado digital
Contenidos7
 
  Trabaja en tus Pdfs de forma segura con estas herramientas que son 100% gratuitas
stephanfrueeh
 
  Trabaja en tus Pdfs de forma segura con estas herramientas que son 100% gratuitas
stephanfrueeh
 
  TransferNow: La forma más cómoda de transferir y compartir archivos de gran tamaño
stephanfrueeh
 
  Un channel manager de calidad
Contenidos7
 
  Software de mantenimiento ¿gasto o ahorro?
Contenidos7
 
  Agregar javascript en wordpress
Xnechijli01
 
  Plugin para wordpress
Xnechijli01
 
  Paso 3 y 4 para el código de javascript en wordpress
Xnechijli01
 
  Un plugin para wordpress
Xnechijli01
 
  Qué es el procesador de hipertexto
Xnechijli01
 
  Simplicidad en el desarrollo web con php
Xnechijli01
 
  Php y el desarrollo web
Xnechijli01
 
  Introducción a javascript
Xnechijli01
 
  Código básico de javascript
Xnechijli01
 
  Javascript para mostrar y ocultar elementos
Xnechijli01
 
  Python para el desarrollo web
Xnechijli01
 
  Ventajas de Python para el desarrollo web
Xnechijli01
 
  Internet para todas las cosas
Xnechijli01
 
  Principales marcos web de Python
Xnechijli01
 
  Qué son los inicios de sesión
Xnechijli01
 
  Informática en la nube
Xnechijli01
 
  Java lenguaje de programación por excelencia
Xnechijli01
 
  La barra de dirección del navegador y su función
Xnechijli01
 
  La importancia del diseño web en el marketing
Xnechijli01
 
  Algunos tipos de sitios web
Xnechijli01
 
  Algunos tipos de sitios web: parte 4
Xnechijli01
 
  Introducción al diseño web: Potocolos web
Xnechijli01
 
  Introducción al diseño web: Las páginas web
Xnechijli01
 
  El Haking etico el nuevo sistema de proteccion contra vulnerabilidades
aaragones
 
 
 
 
TAGS
upload aspupload subir archivo usando ASP ASP subir archivo subir archivo al servidor programación ASP Tutorial en ASP subir archivos upload en ASP
 
 
  Contacto| Términos y condiciones| Anunciar en Sintagmas| Acerca de Sintagmas| Administrar|      
Copyright 2009 y actual de Sintagmas | Todos los derechos reservados